#ifndef Client_h 
#define Client_h

#include	"ActionListenner.cc"
#include	"ClientTCP.h"
#include	"ClientUDP.h"

#include	<string>

/*-------LISTE DES ACTIONS-------*/
#define	RECEPTION 0
#define	QUITTER 1

using namespace std;

class Client : public ActionListenner
{
	private:
		ClientTCP * communicateur;
		ClientUDP * broadcast;
		
	public:
		/**
 		 * Constructeur
 		 */
		Client();
		/**
 		 * Destructeur
 		 */
		virtual ~Client();

		/**
 		 * inititialise le communicateur et le broadcast
 		 */
		void initCommunication(string hostname, int portCom, int portBroadcast, int tailleTampon);

		void afficherMessage(string message);
		string saisirReponse();

		/*-------ACTIONLISTENNER-------*/
		/**
 		 * Fonction appelee par le communicateur apres reception d'un message du client
 		 */
		virtual int action(int numAction, string message, int descripteur);

		virtual string getAction(int numAction, int descripteur);

};
#endif

